package com.tjec.project.system.domain;

import com.tjec.framework.aspectj.lang.annotation.Excel;
import com.tjec.framework.web.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

/**
 * 文件历史版本对象 bms_attachment_history
 *
 * @author tjec
 * @date 2020-04-17
 */
public class BmsAttachmentHistory extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * id 主键
     */
    private String id;

    /**
     * guid
     */
    private String guid;

    /**
     * 附件ID 附件ID
     */
    @Excel(name = "附件ID 附件ID")
    private String attachId;

    /**
     * 附件类目 附件类目（从数据字典获取，00便签，01项目概要，02收资管理，03项目文档，04资料归档，05成果校审，06个人专家，07典型案例，08业务指南）
     */
    @Excel(name = "附件类目 附件类目", readConverterExp = "从=数据字典获取，00便签，01项目概要，02收资管理，03项目文档，04资料归档，05成果校审，06个人专家，07典型案例，08业务指南")
    private String category;

    /**
     * 关联类目ID 关联类目ID
     */
    @Excel(name = "关联类目ID 关联类目ID")
    private String bizId;

    /**
     * 文件名 用户账号
     */
    @Excel(name = "文件名 用户账号")
    private String fileName;

    /**
     * 文件类型 文件类型
     */
    @Excel(name = "文件类型 文件类型")
    private String contentType;

    /**
     * 文件长度 文件长度
     */
    @Excel(name = "文件长度 文件长度")
    private Long contentLength;

    /**
     * 版本 版本
     */
    @Excel(name = "版本 版本")
    private Long version;

    /**
     * 访问地址 邮件
     */
    @Excel(name = "访问地址 邮件")
    private String viewUrl;

    /**
     * 存储地址 存储地址
     */
    @Excel(name = "存储地址 存储地址")
    private String storagePath;

    /**
     * 状态 状态（0可读可写 1可读 2不可读不可写）
     */
    @Excel(name = "状态 状态", readConverterExp = "0=可读可写,1=可读,2=不可读不可写")
    private String status;

    /**
     * 是否允许下载 是否允许下载（0允许，1不允许）
     */
    @Excel(name = "是否允许下载 是否允许下载", readConverterExp = "0=允许，1不允许")
    private String downloadLimit;

    /**
     * 删除标志 删除标志（0代表存在 2代表删除）
     */
    private String delFlag;

    public void setId(String id) {
        this.id = id;
    }

    public String getId() {
        return id;
    }

    public String getAttachId() {
        return attachId;
    }

    public void setAttachId(String attachId) {
        this.attachId = attachId;
    }

    public String getGuid() {
        return guid;
    }

    public void setGuid(String guid) {
        this.guid = guid;
    }

    public void setCategory(String category) {
        this.category = category;
    }

    public String getCategory() {
        return category;
    }

    public String getBizId() {
        return bizId;
    }

    public void setBizId(String bizId) {
        this.bizId = bizId;
    }

    public void setFileName(String fileName) {
        this.fileName = fileName;
    }

    public String getFileName() {
        return fileName;
    }

    public void setContentType(String contentType) {
        this.contentType = contentType;
    }

    public String getContentType() {
        return contentType;
    }

    public void setContentLength(Long contentLength) {
        this.contentLength = contentLength;
    }

    public Long getContentLength() {
        return contentLength;
    }

    public void setVersion(Long version) {
        this.version = version;
    }

    public Long getVersion() {
        return version;
    }

    public void setViewUrl(String viewUrl) {
        this.viewUrl = viewUrl;
    }

    public String getViewUrl() {
        return viewUrl;
    }

    public void setStoragePath(String storagePath) {
        this.storagePath = storagePath;
    }

    public String getStoragePath() {
        return storagePath;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    public String getStatus() {
        return status;
    }

    public void setDownloadLimit(String downloadLimit) {
        this.downloadLimit = downloadLimit;
    }

    public String getDownloadLimit() {
        return downloadLimit;
    }

    public void setDelFlag(String delFlag) {
        this.delFlag = delFlag;
    }

    public String getDelFlag() {
        return delFlag;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("guid", getGuid())
                .append("attachId", getAttachId())
                .append("category", getCategory())
                .append("bizId", getBizId())
                .append("fileName", getFileName())
                .append("contentType", getContentType())
                .append("contentLength", getContentLength())
                .append("version", getVersion())
                .append("viewUrl", getViewUrl())
                .append("storagePath", getStoragePath())
                .append("status", getStatus())
                .append("downloadLimit", getDownloadLimit())
                .append("delFlag", getDelFlag())
                .append("createBy", getCreateBy())
                .append("createTime", getCreateTime())
                .append("updateBy", getUpdateBy())
                .append("updateTime", getUpdateTime())
                .toString();
    }
}
